import 'connect/connect.dart' as connect;
import 'conversation/conversation.dart' as conversation;
import 'message/message.dart' as message;
import 'unread/unread.dart' as unread;
import 'chatroom/chatroom.dart' as chatroom;
import 'ultragroup/ultragroup.dart' as ultragroup;
import 'other/other.dart' as other;
import 'tag/tag.dart' as tag;
import 'group/group.dart' as group;
import 'translate/translate.dart' as translate;
import 'userprofile/userprofile.dart' as userprofile;
import 'speechtotext/speechtotext.dart' as speechtotext;

const titleList = [
  "链接相关",
  "会话相关",
  "消息相关",
  "群组相关",
  "未读数相关",
  "聊天室相关",
  "超级群相关",
  "会话标签",
  "翻译相关",
  "用户信息托管",
  "语音转文字",
  "其他配置",
];

const subList = {
  "其他配置": [
    other.addToBlacklist,
    other.removeFromBlacklist,
    other.loadBlacklistStatus,
    other.loadBlacklist,
    other.changeNotificationQuietHours,
    other.removeNotificationQuietHours,
    other.loadNotificationQuietHours,
    other.changePushContentShowStatus,
    other.changePushLanguage,
    other.changePushReceiveStatus,
    other.changeLogLevel,
    other.getDeltaTime,
  ],
  "聊天室相关": [
    chatroom.joinChatRoom,
    chatroom.leaveChatRoom,
    chatroom.loadChatRoomMessages,
    chatroom.addChatRoomEntry,
    chatroom.addChatRoomEntries,
    chatroom.loadChatRoomEntry,
    chatroom.loadAllChatRoomEntries,
    chatroom.removeChatRoomEntry,
    chatroom.removeChatRoomEntries,
    chatroom.setCheckChatRoomDuplicateMessage,
  ],
  "超级群相关": [
    ultragroup.syncUltraGroupReadStatus,
    ultragroup.loadConversationsForAllChannel,
    ultragroup.loadUltraGroupUnreadMentionedCount,
    ultragroup.modifyUltraGroupMessage,
    ultragroup.recallUltraGroupMessage,
    ultragroup.clearUltraGroupMessages,
    ultragroup.sendUltraGroupTypingStatus,
    ultragroup.clearUltraGroupMessagesForAllChannel,
    ultragroup.loadBatchRemoteUltraGroupMessages,
    ultragroup.updateUltraGroupMessageExpansion,
    ultragroup.removeUltraGroupMessageExpansion,
    ultragroup.changeUltraGroupDefaultNotificationLevel,
    ultragroup.loadUltraGroupDefaultNotificationLevel,
    ultragroup.changeUltraGroupChannelDefaultNotificationLevel,
    ultragroup.loadUltraGroupChannelDefaultNotificationLevel,
    ultragroup.loadUltraGroupAllUnreadCount,
    ultragroup.loadUltraGroupAllUnreadMentionedCount,
    ultragroup.loadUltraGroupUnreadCount,
  ],
  "未读数相关": [
    unread.loadUnreadCount,
    unread.loadTotalUnreadCount,
    unread.loadUnreadCountByConversationTypes,
    unread.loadUnreadMentionedCount,
    unread.clearUnreadCount,
  ],
  "链接相关": [connect.initEngine, connect.connect, connect.disconnect, connect.setListener, connect.destroy],
  "会话相关": [
    conversation.loadConversations,
    conversation.loadConversation,
    conversation.removeConversation,
    conversation.removeConversations,
    conversation.saveDraftMessage,
    conversation.loadDraftMessage,
    conversation.clearDraftMessage,
    conversation.changeConversationNotificationLevel,
    conversation.loadConversationNotificationLevel,
    conversation.changeConversationTypeNotificationLevel,
    conversation.loadConversationTypeNotificationLevel,
    conversation.loadBlockedConversations,
    conversation.changeConversationTopStatus,
    conversation.loadConversationTopStatus,
    conversation.syncConversationReadStatus,
    conversation.searchConversations,
    conversation.loadMessageCount,
    conversation.loadTopConversations,
    conversation.getUnreadConversations,
  ],
  "消息相关": [
    message.registerNativeCustomMessage,
    message.registerNativeCustomMediaMessage,
    message.sendTextMessage,
    message.sendImageMessage,
    message.sendFileMessage,
    message.sendVoiceMessage,
    message.sendSightMessage,
    message.sendReferenceMessage,
    message.sendGIFMessage,
    message.sendLocationMessage,
    message.sendCustomMessage,
    message.sendCommandMessage,
    message.sendUserCustomMessage,
    message.sendNativeCustomMessage,
    message.sendNativeCustomMediaMessage,
    message.cancelSendingMediaMessage,
    message.downloadMediaMessage,
    message.cancelDownloadingMediaMessage,
    message.sendTypingStatus,
    message.loadMessages,
    message.getMessageById,
    message.getMessageByUId,
    message.getMessagesAroundTime,
    message.getLocalMessagesByMessageTypes,
    message.loadFirstUnreadMessage,
    message.loadUnreadMentionedMessages,
    message.insertMessage,
    message.insertMessages,
    message.clearMessages,
    message.deleteLocalMessages,
    message.deleteMessages,
    message.recallMessage,
    message.sendPrivateReadReceiptMessage,
    message.sendGroupReadReceiptRequest,
    message.sendGroupReadReceiptResponse,
    message.updateMessageExpansion,
    message.removeMessageExpansionForKeys,
    message.changeMessageSentStatus,
    message.changeMessageReceiveStatus,
    message.searchMessages,
    message.searchMessagesByTimeRange,
    message.searchMessagesByUserId,
    message.searchMessagesByMessageTypes,
    message.sendGroupMessageToDesignatedUsers,
  ],
  "会话标签": [
    tag.createTag,
    tag.removeTag,
    tag.updateTagNameById,
    tag.getTags,
    tag.addConversationToTag,
    tag.removeConversationFromTag,
    tag.removeTagsFromConversation,
    tag.getTagsFromConversation,
    tag.getConversationsFromTagByPage,
    tag.getUnreadCountByTag,
    tag.changeConversationTopStatusInTag,
    tag.getConversationTopStatusInTag,
    tag.clearMessagesUnreadStatusByTag,
    tag.clearConversationsByTag,
  ],
  "群组相关": [
    group.createGroup,
    group.updateGroupInfo,
    group.getGroupsInfo,
    group.kickGroupMembers,
    group.joinGroup,
    group.quitGroup,
    group.dismissGroup,
    group.transferGroupOwner,
    group.getGroupMembers,
    group.getGroupMembersByRole,
    group.getJoinedGroupsByRole,
    group.getJoinedGroups,
    group.setGroupRemark,
    group.setGroupMemberInfo,
    group.searchJoinedGroups,
    group.searchGroupMembers,
    group.addGroupManagers,
    group.removeGroupManagers,
    group.inviteUsersToGroup,
    group.acceptGroupInvite,
    group.refuseGroupInvite,
    group.acceptGroupApplication,
    group.refuseGroupApplication,
    group.getGroupApplications,
    group.addGroupFollows,
    group.removeGroupFollows,
    group.getGroupFollows,
  ],
  "翻译相关": [
    translate.translateMessagesWithParams,
    translate.translateTextsWithParams,
    translate.setTranslationLanguage,
    translate.getTranslationLanguage,
    translate.setAutoTranslateEnable,
    translate.getAutoTranslateEnabled,
    translate.batchSetConversationTranslateStrategy,
  ],
  "用户信息托管": [
    userprofile.updateMyUserProfileVisibility,
    userprofile.getMyUserProfileVisibility,
    userprofile.updateMyUserProfile,
    userprofile.getMyUserProfile,
    userprofile.getUserProfiles,
    userprofile.searchUserProfileByUniqueId,
    userprofile.subscribeEvent,
    userprofile.unSubscribeEvent,
    userprofile.querySubscribeEvent,
    userprofile.querySubscribeEventByPage,
  ],
  "语音转文字": [speechtotext.requestSpeechToTextForMessage, speechtotext.setMessageSpeechToTextVisible],
  "临时接口": [],
};

const cbList = [
  "connect",
  "sendMessage",
  "sendMediaMessage",
  "cancelSendingMediaMessage",
  "downloadMediaMessage",
  "cancelDownloadingMediaMessage",
  "getConversation",
  "getConversations",
  "getConversationsWithPriority",
  "getUnreadConversations",
  "removeConversation",
  "removeConversations",
  "getUnreadCount",
  "getTotalUnreadCount",
  "getUnreadMentionedCount",
  "getUltraGroupAllUnreadCount",
  "getUltraGroupAllUnreadMentionedCount",
  "getUltraGroupUnreadCount",
  "getUltraGroupUnreadMentionedCount",
  "getUnreadCountByConversationTypes",
  "getUnreadCountByLevels",
  "clearUnreadCount",
  "saveDraftMessage",
  "getDraftMessage",
  "clearDraftMessage",
  "getBlockedConversations",
  "changeConversationTopStatus",
  "changeConversationTopStatusWithUpdateTme",
  "getConversationTopStatus",
  "syncConversationReadStatus",
  "getMessages",
  "getMessageById",
  "getMessageByUId",
  "getMessagesAroundTime",
  "getLocalMessagesByMessageTypes",
  "getFirstUnreadMessage",
  "getUnreadMentionedMessages",
  "insertMessage",
  "insertMessages",
  "clearMessages",
  "deleteLocalMessages",
  "deleteLocalMessageByIds",
  "deleteMessages",
  "recallMessage",
  "sendPrivateReadReceiptMessage",
  "sendGroupReadReceiptRequest",
  "sendGroupReadReceiptResponse",
  "updateMessageExpansion",
  "removeMessageExpansionForKeys",
  "changeMessageSentStatus",
  "changeMessageReceiveStatus",
  "changeMessageReceiveStatusInfo",
  "updateMessageLocalExtra",
  "joinChatRoom",
  "leaveChatRoom",
  "getChatRoomMessages",
  "addChatRoomEntry",
  "addChatRoomEntries",
  "getChatRoomEntry",
  "getChatRoomAllEntries",
  "removeChatRoomEntry",
  "removeChatRoomEntries",
  "addToBlacklist",
  "removeFromBlacklist",
  "getBlacklistStatus",
  "getBlacklist",
  "searchMessages",
  "searchMessagesByTimeRange",
  "searchMessagesByUserId",
  "searchMessagesByMessageTypes",
  "searchConversations",
  "changeNotificationQuietHours",
  "removeNotificationQuietHours",
  "getNotificationQuietHours",
  "changeConversationNotificationLevel",
  "getConversationNotificationLevel",
  "changeConversationTypeNotificationLevel",
  "getConversationTypeNotificationLevel",
  "changeUltraGroupDefaultNotificationLevel",
  "getUltraGroupDefaultNotificationLevel",
  "changeUltraGroupChannelDefaultNotificationLevel",
  "getUltraGroupChannelDefaultNotificationLevel",
  "changePushContentShowStatus",
  "changePushLanguage",
  "changePushReceiveStatus",
  "sendGroupMessageToDesignatedUsers",
  "getMessageCount",
  "getTopConversations",
  "syncUltraGroupReadStatus",
  "getConversationsForAllChannel",
  "modifyUltraGroupMessage",
  "recallUltraGroupMessage",
  "clearUltraGroupMessages",
  "sendUltraGroupTypingStatus",
  "clearUltraGroupMessagesForAllChannel",
  "getBatchRemoteUltraGroupMessages",
  "updateUltraGroupMessageExpansion",
  "removeUltraGroupMessageExpansionForKeys",
  "createTag",
  "removeTag",
  "updateTagNameById",
  "getTags",
  "addConversationToTag",
  "removeConversationFromTag",
  "removeTagsFromConversation",
  "getTagsFromConversation",
  "getConversationsFromTagByPage",
  "getUnreadCountByTag",
  "changeConversationTopStatusInTag",
  "getConversationTopStatusInTag",
  "clearMessagesUnreadStatusByTag",
  "clearConversationsByTag",
  "createGroup",
  "updateGroupInfo",
  "getGroupsInfo",
  "kickGroupMembers",
  "joinGroup",
  "quitGroup",
  "dismissGroup",
  "transferGroupOwner",
  "getGroupMembers",
  "getGroupMembersByRole",
  "getJoinedGroupsByRole",
  "getJoinedGroups",
  "setGroupRemark",
  "setGroupMemberInfo",
  "searchJoinedGroups",
  "searchGroupMembers",
  "addGroupManagers",
  "removeGroupManagers",
  "inviteUsersToGroup",
  "acceptGroupInvite",
  "refuseGroupInvite",
  "acceptGroupApplication",
  "refuseGroupApplication",
  "getGroupApplications",
  "addGroupFollows",
  "removeGroupFollows",
  "getGroupFollows",
  "translateMessagesWithParams",
  "translateTextsWithParams",
  "setTranslationLanguage",
  "getTranslationLanguage",
  "setAutoTranslateEnable",
  "getAutoTranslateEnabled",
  "batchSetConversationTranslateStrategy",
  "updateMyUserProfileVisibility",
  "getMyUserProfileVisibility",
  "updateMyUserProfile",
  "getMyUserProfile",
  "getUserProfiles",
  "searchUserProfileByUniqueId",
  "subscribeEvent",
  "unSubscribeEvent",
  "querySubscribeEvent",
  "querySubscribeEventByPage",
  "requestSpeechToTextForMessage",
  "setMessageSpeechToTextVisible",
];
const cbParam = {"key": "use_cb", "type": "number", "hint": "0为不使用 1为使用,默认不填为使用", "lable": "请输入是否使用callback"};
